Computer simulation playback method and simulation

ABSTRACT

The invented computer simulation playback method includes the steps of recording commands entered during use of a simulation, operating the simulation with the recorded commands and allowing new commands to be entered at any point during the step of operating the simulation with the recorded commands. More specifically, the invented method runs a simulation on a computer system that includes a user input device and a visual display. Images are shown on the display and the person using the simulation enters commands through the user input device. The commands affect the images shown on the visual display and are recorded in the sequence that they were entered. The method then runs the simulation again and automatically enters the recorded commands in the same sequence that they were recorded so that substantially the same images that were produced when the commands were initially entered are displayed again. During that step, new commands can be entered. Once certain new commands are entered, the recorded commands are preempted and the user can use the simulation anew from the point where the new commands were entered.

TECHNICAL FIELD

This invention relates to computer simulations and more particularly toa method of running and replaying computer simulations and video games.The invented method records the action of a simulation or video game andthen replays it. During the replay, the user may enter the simulation orgame at any point and begin using or playing it anew. This inventionalso relates to simulations and video games embodying the inventedmethod.

BACKGROUND ART

Computer simulations and video games are, broadly stated, computerprograms. They are run on computer systems that typically have a visualdisplay such as a video screen and a user input device such as akeyboard, mouse, joystick, pedal or light gun. The simulation or gamedisplays images on the computer system's video screen and those imagesdepict the action of the simulation or game. The person using thesimulation or game affects the action by entering predetermined commandsthrough a user input device. For example, in an airplane dogfight videogame, images of various airplanes are displayed on the screen andcommands are entered through a joystick. The commands affect themovement and action of the planes.

A drawback of existing simulations and video games is that they do notallow a user to record the action of the simulation or game, replay itand then enter the simulation or game while the action is beingreplayed. The invented playback method and simulation address thatdrawback.

DISCLOSURE OF THE INVENTION

The invented computer simulation playback method runs on a computersystem that includes a user input device. The user input device allows auser to enter commands affecting the action of the simulation. Themethod includes the steps of recording the commands entered during use,operating the simulation with the recorded commands and allowing newcommands to be entered at any point during the step of operating thesimulation with the recorded commands. More specifically, the inventedmethod runs a computer simulation on a computer system that includes auser input device and a visual display. Images are shown on the displayand the person using the simulation enters commands through the userinput device. The commands affect the images shown on the visual displayand are recorded in the sequence that they were entered. The method thenruns the simulation again and automatically enters the recorded commandsin the same sequence that they were recorded so that substantially thesame images that were produced when the commands were initially enteredare displayed again. During that step, new commands can be entered. Oncecertain new commands are entered, the recorded commands are preemptedand the user can use or affect the action of the simulation from thepoint where the new commands were entered. Thus, the method can recordand play back a previous simulation session and also allow a user toenter that recorded session and begin using it anew at any point. Theinvented simulation includes means for accomplishing those features,specifically, code that allows the computer system to store in memorythe commands entered by the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart outlining the steps of the invented computersimulation playback method.

FIG. 2 is another flow chart outlining steps similar to those of FIG. 1.

FIGS. 3a-f are detailed flow charts of an actual airplane dogfightsimulation including the invented playback method.

FIG. 4 is a block diagram showing a simulation that includes theinvented playback method.

FIG. 5 is a block diagram showing a computer system which the inventedcomputer simulation playback method may be implemented.

DETAILED DESCRIPTION AND BEST MODE FOR CARRYING OUT THE INVENTION

A computer simulation means any computer program run on a system tosimulate a chosen environment, for example, a flight simulator. Themethod is particularly applicable to video games where the gamessimulate sporting events, fantasies, or historical events like theaerial dogfights of World War I. Thus, the definition of "computersimulation" includes video games. The use of a simulation may bereferred to as the "play."

The invention is a method of replaying a computer simulation so that theperson using the simulation can record the action of the simulation andreply it. The user can enter the action at any point while it is beingreplayed and begin entering new commands to change the recorded action.In a video game, the person playing the game can record the action ofthe game and then replay that recorded action. During replay, the usercan enter the game and begin playing anew at any point.

FIG. 1 shows this method generally at 10. Initially, the person usingthe computer simulation must install it onto a computer system and runit, as illustrated at 12. Simulations may comprise software on one ormore floppy disks. They are played on a computer system having a devicethat can read the program on the floppy disks and display images on ascreen according to the program.

While the simulation is running, the user may enter commands that affectthe action of the simulation, as illustrated at 14. Typically computersystems include one or more input devices such as a keyboard, a mouse, ajoystick or a light gun. If, for example, the computer system includes ajoystick and the simulation is an airplane dogfight video game, movingthe joystick to the left may cause an airplane shown the on the computersystem's screen to bank toward the left of the screen.

The commands entered by the user during play, as well as the sequence ofthe commands are recorded at step 16. The commands are recorded simplyby saving them in memory, such as on a disk drive. Additionally, theinitial settings of the simulation, such as the number and location ofactors in the simulation, colors selected, et cetera, can all be saved.The simulation can then be played back by running it or operating itagain with the same settings and by entering the previously recordedcommands in their proper sequence, as shown in step 18. The result is aduplicate of the previously played simulation.

Block 20 allows the user to enter new commands while the simulation isplayed back. Thus, a user can replay a simulation and, by entering newcommands, begin using it anew. The new commands can be entered at anypoint during playback.

FIG. 2 shows at 22 another perspective of the steps of the inventedmethod. The simulation is played at step 24 and the resulting play isrecorded at step 26. The play may include the images displayed while thesimulation is played, the commands entered by the user playing thesimulation, the initial settings or any combination of them. Therecorded play is replayed at step 28 and step 30 allows new commands tobe entered while the recorded play is replayed.

FIG. 2 differs from FIG. 1 because it covers a situation where asimulation is recorded by saving both the images displayed and thecommands entered by the user. In FIG. 1, only the user's commands andinitial settings were saved. Thus, the method may be thought of asinteracting with a recorded or saved play. "Interacting" simply refersto the user of the simulation entering commands that alter the play ofthe simulation.

FIGS. 3a-f show a detailed flow chart outlining a specific applicationof the invented method. The specific application shown in FIGS. 3a-f isan airplane dogfight simulation. That simulation is referred to as avideo game in the following text.

The video game starts at 50 in FIG. 3a. After starting the game, aplayer is asked whether he wants to watch a previously recorded gamesession or play a new game session. That question is illustrated at step52. Playing a recorded game session is similar to playing avideocassette on a videocassette recorder and therefore step 52 isphrased as "VCR OR PLAY MODE?" The "VCR" mode refers to playing back arecorded game session. If the player selects the "VCR" mode, the methodadvances to the steps labeled "A" at 54. The play mode refers to a newgame session. If the user selects the play mode the method advances tothe steps labeled "B" at 56.

The steps following the label "A" begin at 54 in FIG. 3b. First, themethod asks the user which game session he wants to play back, assymbolized by step 56. The word "tape" refers to a saved game sessionthat includes the session's settings and action. The session may havebeen saved as a file in a memory device such as a hard disk or a floppydisk. Thus, the user would select a file which is then read by thecomputer. Because sessions can be saved to files on floppy disks,recorded game sessions can be transferred between different computersystems. Additionally, saved files can be sent to another computersystem through a modem.

At step 58 the method loads the game settings from the recorded gamesession. The settings are referred to in step 58 as the "tape scriptfile". In an airplane dogfight video game, the settings may include thetype of airplane, the type of weapons, the opponent, player position andother similar settings. At step 60 the method initializes the game withthe settings taken from the saved file. The terms "simulation state" instep 60 refer to settings such as those discussed above or such as theplayer location, orientation and locations of other actors in the game."Simulation" refers to the action and environment simulated by the videogame.

In the "VCR" mode, the player may enter certain commands at any timeduring the playback of the recorded game session. For example, the usermay rewind the recorded session, fast forward the recorded session, exitthe session, play another recorded session, or actually enter thesession and begin playing anew. Additionally, while a recorded sessionis being played back, the user may want to see different views orperspectives of the game. Step 62 recognizes those types of commandsfrom the user and represents the ability to enter those commands at anytime. Steps 64, 66, 68, 74, 78 and 82 illustrate the specific commands.

If the user rewinds the recorded session at step 64, the method returnsto step 60. If the user loads a new recorded session at step 66, themethod returns to step 58.

Step 68 asks whether the "director mode" is activated. The "directormode" refers to the ability to edit certain characteristics of therecorded session. In other words, the user may edit and change arecorded session by entering new commands. If the user desires to makesuch changes, that desire is indicated at step 68. If the "directormode" is chosen, a flag is set at step 70 that is used later at steps 96at 106. The method then follows the steps after the label "C" at 72.

The fast forward, play or stop commands are recognized at step 74 asshown in FIG. 3c. The fast forward command allows a user to advance therecorded game session. The play command allows the user to display therecorded session on the computer system's screen. The stop commandallows the user to stop playing or fast forwarding the recorded session.If the fast forward, play or stop command is selected, a flag is set atstep 76 indicating that choice. The flag is used later to answer thequestion asked by step 86.

Step 78 asks whether the user wants to "enter the simulation". "Enterthe simulation" means entering the recorded session and begin playinganew. If the user decides to enter the simulation, the method proceedswith the steps after the designator "D" at 80 in FIG. 3e.

The user may exit a recorded session at step 82 in FIG. 3c, in whichcase the method would return to the start, as shown at step 84.

At step 86 the method determines whether the user selected the play orfast forward commands. If so, the method gets the view and simulationinput from the recorded session at step 88. In other words, the methodgets the commands concerning how images are to be displayed from therecorded session. In an airplane dogfight game the view refers to theway the dogfight is displayed. It can be shown from the cockpit of aplane, from outside the plane, from different directions or from otherperspectives. "Simulation input" refers to commands affecting theelements of the game such as the type of airplanes and weapons.

At step 90 the method updates the images from the commands retrieved atstep 88. The invented method updates images displayed on the computersystem on a frame-by-frame basis. In the described airplane dogfightgame, approximately six frames per second are displayed in sequence onthe computer system's visual display when the game is played on acomputer system based on an Intel 80386 microprocessor running at 16MHz. Each frame is updated according to user commands. Obviously,different computer systems can have different update speeds.

Step 92 refers to view commands entered by the user prior to the framecurrently displayed and it recognizes when the user enters a new viewcommand. Again, a view command is a command relating to the perspectiveof images displayed on the computer system's visual display. The usermay want to look out from the cockpit of an airplane forward, backwardor to a side. Alternatively, the user may want to be outside an airplanelooking at it. If the user did not enter a new view command prior to thepresent frame, the images displayed by the computer system would beupdated from the saved file or tape, as shown at step 94.

If new view commands were entered prior to the present frame, step 96detects whether the user has selected the director mode. Again, thedirector mode allows the user to edit the recorded session. If thedirector mode is selected, the new view commands are saved at step 98and the method proceeds with the steps following the label "F" at 99. Ifthe user has not selected the director mode, the method proceeds withthe steps following the label "F" at 99. As can be seen from thisdiscussion, views can be edited on a recorded game session withoutentering that game and without giving commands to affect the action ofthe game.

Step 100 in FIG. 3d asks whether the user has entered any new viewcommands during the time when the latest frame is displayed. If so, theview is updated at step 102 and a flag is set at step 104 indicatingthat the views have been updated. Step 106 inquires whether the directormode is operating and if so, the updated views are saved at step 108.

If the answer to either step 100 or step 106 is "no", or if the changeswere saved at step 108, the method then determines at step 110 whetherit should alter the images displayed. If the user has entered commandsto alter the display, the display is updated at step 112. If the displayis not to be altered, the method returns to step 62, as shown by block113.

At the beginning of the game, if the user selected the play mode, thenthe method would proceed beginning with step 56, as shown in FIG. 3e.The default settings for the beginning of each new game play session areset at step 114. In the airplane dogfight game being described, thedefault setting for the record feature is off. Accordingly, step 116asks the whether the user would like to record or save the game session.If the user decides to record the game session, the starting settingsare saved at step 118 and the method proceeds to the steps following thelabel "D" at 80. If the user does not want to record his game session,the method proceeds directly to the steps following the label "D".

If the user desires to change any default settings, he does so at step120. The new settings, if any, are updated at step 122.

The game may include a fast mode of play, as illustrated at step 124. Ifthe fast mode of play is selected, the method proceeds to step 126 andthe images displayed on the visual display are updated once out of everyeight frames. Different updating rates can be used for differentsituations and different computer systems. If the user does not selectthe fast mode, each frame of animation is updated as the game is played,as shown in step 128. In either case, the method proceeds to the stepsfollowing the label "F" at 129.

Step 130 in FIG. 3f asks whether the play session will be recorded andif so, the commands from the user changing the default settings aresaved at step 132. The method then proceeds to step 134. If the gamesession is not being recorded the method proceeds directly to step 134.

Play proceeds until the user or player quits or is defeated in the game,as shown in step 134. In the airplane dogfight game, the player isdefeated when he crashes or dies. If the player did not quit or die, themethod simply repeats the steps described above, beginning with thesteps following the label "D" at 80. When the player quits or dies, step136 determines if the session is being recorded and if so it saves theoutcome of the game at step 138 and returns to the start at step 140. Ifthe game is not being recorded, the method returns to the start at step140.

The above-described steps can be repeated on saved files. In otherwords, if a user replays a game session and enters that session andbegins playing anew, the changes and new game play can also be saved.The user can then replay the new session and alter it. This can berepeated over and over until the user has created the "perfect" gamesession.

FIG. 4 is a block diagram illustrating a simulation incorporating theabove-described method. The different features of the simulation includea means for producing images shown at 150, a means for interpretingcommands shown at 152, a means for instructing the computer system toalter the images shown at 154, a means for playing back the images asthey were altered shown at 156, and a means for allowing new commands tobe entered as shown at 158. The means are all related so that theirfunctions affect each other. For example, the means for producing imagesis typically a set of code that causes a computer system to generatecertain images and to perform certain functions. Those images andfunctions are affected by commands from someone using the simulation.The means for interpreting those commands is typically another set ofcode that interacts with the code for producing images. Similarly, themeans for instructing the computer system to alter the images is a setof code that works with means 152 and 150 to change the images producedby the computer system according to the user's commands. The means forplaying back the images as they were altered includes yet another set ofcode that allows the computer system to store in memory the commandsentered and to use the recorded commands to generate the same imagesthat were generated when the commands were initially entered. The meansfor allowing new commands to be entered is also a set of code workingwith the others to further alter images while they are being playedback. Any code that accomplishes the described features may be used.Storing the code on floppy discs results in an actual simulation thatcan be sold and used on different computer systems.

INDUSTRIAL APPLICABILITY

Referring briefly to FIG. 5, it may be seen that computer system 1 onwhich the invented method or simulation might be practiced may include apersonal computer (PC) 2 (including a microprocessor and memory); one ormore floppy disc drives 3, 4 for recording and playing back storedsimulations; a visual display 5; and one or more input devices such askeyboard 6 and mouse 7. The memory within PC 2 and/or magnetic storagemedia within floppy disc drives 3, 4 may be seen to provide means forsaving new commands that are entered during playback of a storedsimulation, as described and illustrated above. Alternative input,processing, display and memory storage means may be used.

The invented playback method and device are applicable to the simulationand video game industries. Specifically, the invented playback methodcan be used in any simulation where a user wants to record a playsession for subsequent viewing and altering. Expressed differently, themethod simply plays back a recorded play and then allows a user tointeract with that recorded play as it is played back to alter the play.It is applicable whenever those features are desired.

While the preferred embodiment and best mode of the invention have beendisclosed, variations and changes may be made without departing from thespirit of the invention.

We claim:
 1. A video game designed for play on a computer system havinga visual display and a user input device that allows a user to entercommands that affect the action of the game, the game comprising:meansusable on the computer system for producing images on the visualdisplay, the means usable on the computer system for producing images onthe visual display including a first set of code that defines visualfeatures of the game; means usable on the computer system forinterpreting commands entered by the user of the input device, the meansusable on the computer system for interpreting commands entered by theuser of the input device including a second set of code that recognizespredetermined commands; means usable on the computer system forinstructing the computer system to alter the images produced by themeans for producing images on the visual display according to thecommands entered by the user of the input device and interpreted by themeans for interpreting, the means usable on the computer system forinstructing the computer system to alter the images according to thecommands entered by the use of the input device including a third set ofcode that instructs the computer system how to alter the imagesaccording to the commands entered; means usable on the computer systemfor playing back images produced by the means for producing images asthey were altered by the means for instructing, the means usable on thecomputer system for playing back the images as they were alteredincluding a fourth set of code that allows the computer system to storein memory the commands entered and to use the recorded commands togenerate the same images that were generated when the commands wereinitially entered; and means usable on the computer system for allowingnew commands to be entered and interpreted by the means for interpretingat any point while the images are played back by the means for playingback images, where the new commands further alter the images, and themeans usable on the computer system for allowing new commands to beentered at any point when the images are played back including a fifthset of code that allows the computer system to further alter the images,where all the sets of code are stored on at least one floppy disk.